/*
 * 文件描述：自定义音乐播放器列表
 * 文件作用：声明音乐播放器列表类musicListView
 * 文件创建时间：2017-4-3
 * 文件创建者：wsgalaxy@163.com
 * 文件最后修改时间：
 * 文件修改者：
 * 文件协议：GPL
 *
 */



#ifndef MUSICLISTVIEW_H
#define MUSICLISTVIEW_H

#include <QScrollArea>
#include <QVBoxLayout>
#include "scrollBarSpec.h"
#include "musicListAdapter.h"
#include "musicListItem.h"

class musicListView : public QScrollArea
{
    Q_OBJECT

private:
    scrollBarSpec scrollBar;        //列表的滑动条
    musicListAdapter* adapter;      //适配器

    musicListItem* items;           //每一项
    QWidget widget;                 //用来承载每一项
    QVBoxLayout* layout;            //放置每一项的布局


public:
    musicListView(QWidget* parent = 0);
    int setMusicAdapter(musicListAdapter* a);   //设置适配器

public slots:
    void adapterChanged();                      //适配器内容发生改变时更新音乐列表

protected:
    void paintEvent(QPaintEvent* event);

signals:
    void sendPlayMusic(musicData* data);        //有音乐播放时发出
    void removeMusic(musicData* data);          //删除音乐时发出
};

#endif // MUSICLISTVIEW_H
